package com.pmsystem.pojo;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class FixExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public FixExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andFixBillIdIsNull() {
            addCriterion("fix_bill_id is null");
            return (Criteria) this;
        }

        public Criteria andFixBillIdIsNotNull() {
            addCriterion("fix_bill_id is not null");
            return (Criteria) this;
        }

        public Criteria andFixBillIdEqualTo(Integer value) {
            addCriterion("fix_bill_id =", value, "fixBillId");
            return (Criteria) this;
        }

        public Criteria andFixBillIdNotEqualTo(Integer value) {
            addCriterion("fix_bill_id <>", value, "fixBillId");
            return (Criteria) this;
        }

        public Criteria andFixBillIdGreaterThan(Integer value) {
            addCriterion("fix_bill_id >", value, "fixBillId");
            return (Criteria) this;
        }

        public Criteria andFixBillIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("fix_bill_id >=", value, "fixBillId");
            return (Criteria) this;
        }

        public Criteria andFixBillIdLessThan(Integer value) {
            addCriterion("fix_bill_id <", value, "fixBillId");
            return (Criteria) this;
        }

        public Criteria andFixBillIdLessThanOrEqualTo(Integer value) {
            addCriterion("fix_bill_id <=", value, "fixBillId");
            return (Criteria) this;
        }

        public Criteria andFixBillIdIn(List<Integer> values) {
            addCriterion("fix_bill_id in", values, "fixBillId");
            return (Criteria) this;
        }

        public Criteria andFixBillIdNotIn(List<Integer> values) {
            addCriterion("fix_bill_id not in", values, "fixBillId");
            return (Criteria) this;
        }

        public Criteria andFixBillIdBetween(Integer value1, Integer value2) {
            addCriterion("fix_bill_id between", value1, value2, "fixBillId");
            return (Criteria) this;
        }

        public Criteria andFixBillIdNotBetween(Integer value1, Integer value2) {
            addCriterion("fix_bill_id not between", value1, value2, "fixBillId");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNull() {
            addCriterion("user_id is null");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNotNull() {
            addCriterion("user_id is not null");
            return (Criteria) this;
        }

        public Criteria andUserIdEqualTo(Integer value) {
            addCriterion("user_id =", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotEqualTo(Integer value) {
            addCriterion("user_id <>", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThan(Integer value) {
            addCriterion("user_id >", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("user_id >=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThan(Integer value) {
            addCriterion("user_id <", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThanOrEqualTo(Integer value) {
            addCriterion("user_id <=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdIn(List<Integer> values) {
            addCriterion("user_id in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotIn(List<Integer> values) {
            addCriterion("user_id not in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdBetween(Integer value1, Integer value2) {
            addCriterion("user_id between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotBetween(Integer value1, Integer value2) {
            addCriterion("user_id not between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andBreakObjectIsNull() {
            addCriterion("break_object is null");
            return (Criteria) this;
        }

        public Criteria andBreakObjectIsNotNull() {
            addCriterion("break_object is not null");
            return (Criteria) this;
        }

        public Criteria andBreakObjectEqualTo(String value) {
            addCriterion("break_object =", value, "breakObject");
            return (Criteria) this;
        }

        public Criteria andBreakObjectNotEqualTo(String value) {
            addCriterion("break_object <>", value, "breakObject");
            return (Criteria) this;
        }

        public Criteria andBreakObjectGreaterThan(String value) {
            addCriterion("break_object >", value, "breakObject");
            return (Criteria) this;
        }

        public Criteria andBreakObjectGreaterThanOrEqualTo(String value) {
            addCriterion("break_object >=", value, "breakObject");
            return (Criteria) this;
        }

        public Criteria andBreakObjectLessThan(String value) {
            addCriterion("break_object <", value, "breakObject");
            return (Criteria) this;
        }

        public Criteria andBreakObjectLessThanOrEqualTo(String value) {
            addCriterion("break_object <=", value, "breakObject");
            return (Criteria) this;
        }

        public Criteria andBreakObjectLike(String value) {
            addCriterion("break_object like", value, "breakObject");
            return (Criteria) this;
        }

        public Criteria andBreakObjectNotLike(String value) {
            addCriterion("break_object not like", value, "breakObject");
            return (Criteria) this;
        }

        public Criteria andBreakObjectIn(List<String> values) {
            addCriterion("break_object in", values, "breakObject");
            return (Criteria) this;
        }

        public Criteria andBreakObjectNotIn(List<String> values) {
            addCriterion("break_object not in", values, "breakObject");
            return (Criteria) this;
        }

        public Criteria andBreakObjectBetween(String value1, String value2) {
            addCriterion("break_object between", value1, value2, "breakObject");
            return (Criteria) this;
        }

        public Criteria andBreakObjectNotBetween(String value1, String value2) {
            addCriterion("break_object not between", value1, value2, "breakObject");
            return (Criteria) this;
        }

        public Criteria andBreakCauseIsNull() {
            addCriterion("break_cause is null");
            return (Criteria) this;
        }

        public Criteria andBreakCauseIsNotNull() {
            addCriterion("break_cause is not null");
            return (Criteria) this;
        }

        public Criteria andBreakCauseEqualTo(String value) {
            addCriterion("break_cause =", value, "breakCause");
            return (Criteria) this;
        }

        public Criteria andBreakCauseNotEqualTo(String value) {
            addCriterion("break_cause <>", value, "breakCause");
            return (Criteria) this;
        }

        public Criteria andBreakCauseGreaterThan(String value) {
            addCriterion("break_cause >", value, "breakCause");
            return (Criteria) this;
        }

        public Criteria andBreakCauseGreaterThanOrEqualTo(String value) {
            addCriterion("break_cause >=", value, "breakCause");
            return (Criteria) this;
        }

        public Criteria andBreakCauseLessThan(String value) {
            addCriterion("break_cause <", value, "breakCause");
            return (Criteria) this;
        }

        public Criteria andBreakCauseLessThanOrEqualTo(String value) {
            addCriterion("break_cause <=", value, "breakCause");
            return (Criteria) this;
        }

        public Criteria andBreakCauseLike(String value) {
            addCriterion("break_cause like", value, "breakCause");
            return (Criteria) this;
        }

        public Criteria andBreakCauseNotLike(String value) {
            addCriterion("break_cause not like", value, "breakCause");
            return (Criteria) this;
        }

        public Criteria andBreakCauseIn(List<String> values) {
            addCriterion("break_cause in", values, "breakCause");
            return (Criteria) this;
        }

        public Criteria andBreakCauseNotIn(List<String> values) {
            addCriterion("break_cause not in", values, "breakCause");
            return (Criteria) this;
        }

        public Criteria andBreakCauseBetween(String value1, String value2) {
            addCriterion("break_cause between", value1, value2, "breakCause");
            return (Criteria) this;
        }

        public Criteria andBreakCauseNotBetween(String value1, String value2) {
            addCriterion("break_cause not between", value1, value2, "breakCause");
            return (Criteria) this;
        }

        public Criteria andFixBillSendTimeIsNull() {
            addCriterion("fix_bill_send_time is null");
            return (Criteria) this;
        }

        public Criteria andFixBillSendTimeIsNotNull() {
            addCriterion("fix_bill_send_time is not null");
            return (Criteria) this;
        }

        public Criteria andFixBillSendTimeEqualTo(Date value) {
            addCriterionForJDBCDate("fix_bill_send_time =", value, "fixBillSendTime");
            return (Criteria) this;
        }

        public Criteria andFixBillSendTimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("fix_bill_send_time <>", value, "fixBillSendTime");
            return (Criteria) this;
        }

        public Criteria andFixBillSendTimeGreaterThan(Date value) {
            addCriterionForJDBCDate("fix_bill_send_time >", value, "fixBillSendTime");
            return (Criteria) this;
        }

        public Criteria andFixBillSendTimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("fix_bill_send_time >=", value, "fixBillSendTime");
            return (Criteria) this;
        }

        public Criteria andFixBillSendTimeLessThan(Date value) {
            addCriterionForJDBCDate("fix_bill_send_time <", value, "fixBillSendTime");
            return (Criteria) this;
        }

        public Criteria andFixBillSendTimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("fix_bill_send_time <=", value, "fixBillSendTime");
            return (Criteria) this;
        }

        public Criteria andFixBillSendTimeIn(List<Date> values) {
            addCriterionForJDBCDate("fix_bill_send_time in", values, "fixBillSendTime");
            return (Criteria) this;
        }

        public Criteria andFixBillSendTimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("fix_bill_send_time not in", values, "fixBillSendTime");
            return (Criteria) this;
        }

        public Criteria andFixBillSendTimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("fix_bill_send_time between", value1, value2, "fixBillSendTime");
            return (Criteria) this;
        }

        public Criteria andFixBillSendTimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("fix_bill_send_time not between", value1, value2, "fixBillSendTime");
            return (Criteria) this;
        }

        public Criteria andIsCheckIsNull() {
            addCriterion("is_check is null");
            return (Criteria) this;
        }

        public Criteria andIsCheckIsNotNull() {
            addCriterion("is_check is not null");
            return (Criteria) this;
        }

        public Criteria andIsCheckEqualTo(Byte value) {
            addCriterion("is_check =", value, "isCheck");
            return (Criteria) this;
        }

        public Criteria andIsCheckNotEqualTo(Byte value) {
            addCriterion("is_check <>", value, "isCheck");
            return (Criteria) this;
        }

        public Criteria andIsCheckGreaterThan(Byte value) {
            addCriterion("is_check >", value, "isCheck");
            return (Criteria) this;
        }

        public Criteria andIsCheckGreaterThanOrEqualTo(Byte value) {
            addCriterion("is_check >=", value, "isCheck");
            return (Criteria) this;
        }

        public Criteria andIsCheckLessThan(Byte value) {
            addCriterion("is_check <", value, "isCheck");
            return (Criteria) this;
        }

        public Criteria andIsCheckLessThanOrEqualTo(Byte value) {
            addCriterion("is_check <=", value, "isCheck");
            return (Criteria) this;
        }

        public Criteria andIsCheckIn(List<Byte> values) {
            addCriterion("is_check in", values, "isCheck");
            return (Criteria) this;
        }

        public Criteria andIsCheckNotIn(List<Byte> values) {
            addCriterion("is_check not in", values, "isCheck");
            return (Criteria) this;
        }

        public Criteria andIsCheckBetween(Byte value1, Byte value2) {
            addCriterion("is_check between", value1, value2, "isCheck");
            return (Criteria) this;
        }

        public Criteria andIsCheckNotBetween(Byte value1, Byte value2) {
            addCriterion("is_check not between", value1, value2, "isCheck");
            return (Criteria) this;
        }

        public Criteria andCheckBillTimeIsNull() {
            addCriterion("check_bill_time is null");
            return (Criteria) this;
        }

        public Criteria andCheckBillTimeIsNotNull() {
            addCriterion("check_bill_time is not null");
            return (Criteria) this;
        }

        public Criteria andCheckBillTimeEqualTo(Date value) {
            addCriterionForJDBCDate("check_bill_time =", value, "checkBillTime");
            return (Criteria) this;
        }

        public Criteria andCheckBillTimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("check_bill_time <>", value, "checkBillTime");
            return (Criteria) this;
        }

        public Criteria andCheckBillTimeGreaterThan(Date value) {
            addCriterionForJDBCDate("check_bill_time >", value, "checkBillTime");
            return (Criteria) this;
        }

        public Criteria andCheckBillTimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("check_bill_time >=", value, "checkBillTime");
            return (Criteria) this;
        }

        public Criteria andCheckBillTimeLessThan(Date value) {
            addCriterionForJDBCDate("check_bill_time <", value, "checkBillTime");
            return (Criteria) this;
        }

        public Criteria andCheckBillTimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("check_bill_time <=", value, "checkBillTime");
            return (Criteria) this;
        }

        public Criteria andCheckBillTimeIn(List<Date> values) {
            addCriterionForJDBCDate("check_bill_time in", values, "checkBillTime");
            return (Criteria) this;
        }

        public Criteria andCheckBillTimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("check_bill_time not in", values, "checkBillTime");
            return (Criteria) this;
        }

        public Criteria andCheckBillTimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("check_bill_time between", value1, value2, "checkBillTime");
            return (Criteria) this;
        }

        public Criteria andCheckBillTimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("check_bill_time not between", value1, value2, "checkBillTime");
            return (Criteria) this;
        }

        public Criteria andWorkerNameIsNull() {
            addCriterion("worker_name is null");
            return (Criteria) this;
        }

        public Criteria andWorkerNameIsNotNull() {
            addCriterion("worker_name is not null");
            return (Criteria) this;
        }

        public Criteria andWorkerNameEqualTo(String value) {
            addCriterion("worker_name =", value, "workerName");
            return (Criteria) this;
        }

        public Criteria andWorkerNameNotEqualTo(String value) {
            addCriterion("worker_name <>", value, "workerName");
            return (Criteria) this;
        }

        public Criteria andWorkerNameGreaterThan(String value) {
            addCriterion("worker_name >", value, "workerName");
            return (Criteria) this;
        }

        public Criteria andWorkerNameGreaterThanOrEqualTo(String value) {
            addCriterion("worker_name >=", value, "workerName");
            return (Criteria) this;
        }

        public Criteria andWorkerNameLessThan(String value) {
            addCriterion("worker_name <", value, "workerName");
            return (Criteria) this;
        }

        public Criteria andWorkerNameLessThanOrEqualTo(String value) {
            addCriterion("worker_name <=", value, "workerName");
            return (Criteria) this;
        }

        public Criteria andWorkerNameLike(String value) {
            addCriterion("worker_name like", value, "workerName");
            return (Criteria) this;
        }

        public Criteria andWorkerNameNotLike(String value) {
            addCriterion("worker_name not like", value, "workerName");
            return (Criteria) this;
        }

        public Criteria andWorkerNameIn(List<String> values) {
            addCriterion("worker_name in", values, "workerName");
            return (Criteria) this;
        }

        public Criteria andWorkerNameNotIn(List<String> values) {
            addCriterion("worker_name not in", values, "workerName");
            return (Criteria) this;
        }

        public Criteria andWorkerNameBetween(String value1, String value2) {
            addCriterion("worker_name between", value1, value2, "workerName");
            return (Criteria) this;
        }

        public Criteria andWorkerNameNotBetween(String value1, String value2) {
            addCriterion("worker_name not between", value1, value2, "workerName");
            return (Criteria) this;
        }

        public Criteria andWorkerTelephoneIsNull() {
            addCriterion("worker_telephone is null");
            return (Criteria) this;
        }

        public Criteria andWorkerTelephoneIsNotNull() {
            addCriterion("worker_telephone is not null");
            return (Criteria) this;
        }

        public Criteria andWorkerTelephoneEqualTo(String value) {
            addCriterion("worker_telephone =", value, "workerTelephone");
            return (Criteria) this;
        }

        public Criteria andWorkerTelephoneNotEqualTo(String value) {
            addCriterion("worker_telephone <>", value, "workerTelephone");
            return (Criteria) this;
        }

        public Criteria andWorkerTelephoneGreaterThan(String value) {
            addCriterion("worker_telephone >", value, "workerTelephone");
            return (Criteria) this;
        }

        public Criteria andWorkerTelephoneGreaterThanOrEqualTo(String value) {
            addCriterion("worker_telephone >=", value, "workerTelephone");
            return (Criteria) this;
        }

        public Criteria andWorkerTelephoneLessThan(String value) {
            addCriterion("worker_telephone <", value, "workerTelephone");
            return (Criteria) this;
        }

        public Criteria andWorkerTelephoneLessThanOrEqualTo(String value) {
            addCriterion("worker_telephone <=", value, "workerTelephone");
            return (Criteria) this;
        }

        public Criteria andWorkerTelephoneLike(String value) {
            addCriterion("worker_telephone like", value, "workerTelephone");
            return (Criteria) this;
        }

        public Criteria andWorkerTelephoneNotLike(String value) {
            addCriterion("worker_telephone not like", value, "workerTelephone");
            return (Criteria) this;
        }

        public Criteria andWorkerTelephoneIn(List<String> values) {
            addCriterion("worker_telephone in", values, "workerTelephone");
            return (Criteria) this;
        }

        public Criteria andWorkerTelephoneNotIn(List<String> values) {
            addCriterion("worker_telephone not in", values, "workerTelephone");
            return (Criteria) this;
        }

        public Criteria andWorkerTelephoneBetween(String value1, String value2) {
            addCriterion("worker_telephone between", value1, value2, "workerTelephone");
            return (Criteria) this;
        }

        public Criteria andWorkerTelephoneNotBetween(String value1, String value2) {
            addCriterion("worker_telephone not between", value1, value2, "workerTelephone");
            return (Criteria) this;
        }

        public Criteria andIsApplyIsNull() {
            addCriterion("is_apply is null");
            return (Criteria) this;
        }

        public Criteria andIsApplyIsNotNull() {
            addCriterion("is_apply is not null");
            return (Criteria) this;
        }

        public Criteria andIsApplyEqualTo(Byte value) {
            addCriterion("is_apply =", value, "isApply");
            return (Criteria) this;
        }

        public Criteria andIsApplyNotEqualTo(Byte value) {
            addCriterion("is_apply <>", value, "isApply");
            return (Criteria) this;
        }

        public Criteria andIsApplyGreaterThan(Byte value) {
            addCriterion("is_apply >", value, "isApply");
            return (Criteria) this;
        }

        public Criteria andIsApplyGreaterThanOrEqualTo(Byte value) {
            addCriterion("is_apply >=", value, "isApply");
            return (Criteria) this;
        }

        public Criteria andIsApplyLessThan(Byte value) {
            addCriterion("is_apply <", value, "isApply");
            return (Criteria) this;
        }

        public Criteria andIsApplyLessThanOrEqualTo(Byte value) {
            addCriterion("is_apply <=", value, "isApply");
            return (Criteria) this;
        }

        public Criteria andIsApplyIn(List<Byte> values) {
            addCriterion("is_apply in", values, "isApply");
            return (Criteria) this;
        }

        public Criteria andIsApplyNotIn(List<Byte> values) {
            addCriterion("is_apply not in", values, "isApply");
            return (Criteria) this;
        }

        public Criteria andIsApplyBetween(Byte value1, Byte value2) {
            addCriterion("is_apply between", value1, value2, "isApply");
            return (Criteria) this;
        }

        public Criteria andIsApplyNotBetween(Byte value1, Byte value2) {
            addCriterion("is_apply not between", value1, value2, "isApply");
            return (Criteria) this;
        }

        public Criteria andApplyTimeIsNull() {
            addCriterion("apply_time is null");
            return (Criteria) this;
        }

        public Criteria andApplyTimeIsNotNull() {
            addCriterion("apply_time is not null");
            return (Criteria) this;
        }

        public Criteria andApplyTimeEqualTo(Date value) {
            addCriterionForJDBCDate("apply_time =", value, "applyTime");
            return (Criteria) this;
        }

        public Criteria andApplyTimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("apply_time <>", value, "applyTime");
            return (Criteria) this;
        }

        public Criteria andApplyTimeGreaterThan(Date value) {
            addCriterionForJDBCDate("apply_time >", value, "applyTime");
            return (Criteria) this;
        }

        public Criteria andApplyTimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("apply_time >=", value, "applyTime");
            return (Criteria) this;
        }

        public Criteria andApplyTimeLessThan(Date value) {
            addCriterionForJDBCDate("apply_time <", value, "applyTime");
            return (Criteria) this;
        }

        public Criteria andApplyTimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("apply_time <=", value, "applyTime");
            return (Criteria) this;
        }

        public Criteria andApplyTimeIn(List<Date> values) {
            addCriterionForJDBCDate("apply_time in", values, "applyTime");
            return (Criteria) this;
        }

        public Criteria andApplyTimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("apply_time not in", values, "applyTime");
            return (Criteria) this;
        }

        public Criteria andApplyTimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("apply_time between", value1, value2, "applyTime");
            return (Criteria) this;
        }

        public Criteria andApplyTimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("apply_time not between", value1, value2, "applyTime");
            return (Criteria) this;
        }

        public Criteria andProcessingIsNull() {
            addCriterion("processing is null");
            return (Criteria) this;
        }

        public Criteria andProcessingIsNotNull() {
            addCriterion("processing is not null");
            return (Criteria) this;
        }

        public Criteria andProcessingEqualTo(String value) {
            addCriterion("processing =", value, "processing");
            return (Criteria) this;
        }

        public Criteria andProcessingNotEqualTo(String value) {
            addCriterion("processing <>", value, "processing");
            return (Criteria) this;
        }

        public Criteria andProcessingGreaterThan(String value) {
            addCriterion("processing >", value, "processing");
            return (Criteria) this;
        }

        public Criteria andProcessingGreaterThanOrEqualTo(String value) {
            addCriterion("processing >=", value, "processing");
            return (Criteria) this;
        }

        public Criteria andProcessingLessThan(String value) {
            addCriterion("processing <", value, "processing");
            return (Criteria) this;
        }

        public Criteria andProcessingLessThanOrEqualTo(String value) {
            addCriterion("processing <=", value, "processing");
            return (Criteria) this;
        }

        public Criteria andProcessingLike(String value) {
            addCriterion("processing like", value, "processing");
            return (Criteria) this;
        }

        public Criteria andProcessingNotLike(String value) {
            addCriterion("processing not like", value, "processing");
            return (Criteria) this;
        }

        public Criteria andProcessingIn(List<String> values) {
            addCriterion("processing in", values, "processing");
            return (Criteria) this;
        }

        public Criteria andProcessingNotIn(List<String> values) {
            addCriterion("processing not in", values, "processing");
            return (Criteria) this;
        }

        public Criteria andProcessingBetween(String value1, String value2) {
            addCriterion("processing between", value1, value2, "processing");
            return (Criteria) this;
        }

        public Criteria andProcessingNotBetween(String value1, String value2) {
            addCriterion("processing not between", value1, value2, "processing");
            return (Criteria) this;
        }

        public Criteria andIsFinishIsNull() {
            addCriterion("is_finish is null");
            return (Criteria) this;
        }

        public Criteria andIsFinishIsNotNull() {
            addCriterion("is_finish is not null");
            return (Criteria) this;
        }

        public Criteria andIsFinishEqualTo(Byte value) {
            addCriterion("is_finish =", value, "isFinish");
            return (Criteria) this;
        }

        public Criteria andIsFinishNotEqualTo(Byte value) {
            addCriterion("is_finish <>", value, "isFinish");
            return (Criteria) this;
        }

        public Criteria andIsFinishGreaterThan(Byte value) {
            addCriterion("is_finish >", value, "isFinish");
            return (Criteria) this;
        }

        public Criteria andIsFinishGreaterThanOrEqualTo(Byte value) {
            addCriterion("is_finish >=", value, "isFinish");
            return (Criteria) this;
        }

        public Criteria andIsFinishLessThan(Byte value) {
            addCriterion("is_finish <", value, "isFinish");
            return (Criteria) this;
        }

        public Criteria andIsFinishLessThanOrEqualTo(Byte value) {
            addCriterion("is_finish <=", value, "isFinish");
            return (Criteria) this;
        }

        public Criteria andIsFinishIn(List<Byte> values) {
            addCriterion("is_finish in", values, "isFinish");
            return (Criteria) this;
        }

        public Criteria andIsFinishNotIn(List<Byte> values) {
            addCriterion("is_finish not in", values, "isFinish");
            return (Criteria) this;
        }

        public Criteria andIsFinishBetween(Byte value1, Byte value2) {
            addCriterion("is_finish between", value1, value2, "isFinish");
            return (Criteria) this;
        }

        public Criteria andIsFinishNotBetween(Byte value1, Byte value2) {
            addCriterion("is_finish not between", value1, value2, "isFinish");
            return (Criteria) this;
        }

        public Criteria andFinishTimeIsNull() {
            addCriterion("finish_time is null");
            return (Criteria) this;
        }

        public Criteria andFinishTimeIsNotNull() {
            addCriterion("finish_time is not null");
            return (Criteria) this;
        }

        public Criteria andFinishTimeEqualTo(Date value) {
            addCriterionForJDBCDate("finish_time =", value, "finishTime");
            return (Criteria) this;
        }

        public Criteria andFinishTimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("finish_time <>", value, "finishTime");
            return (Criteria) this;
        }

        public Criteria andFinishTimeGreaterThan(Date value) {
            addCriterionForJDBCDate("finish_time >", value, "finishTime");
            return (Criteria) this;
        }

        public Criteria andFinishTimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("finish_time >=", value, "finishTime");
            return (Criteria) this;
        }

        public Criteria andFinishTimeLessThan(Date value) {
            addCriterionForJDBCDate("finish_time <", value, "finishTime");
            return (Criteria) this;
        }

        public Criteria andFinishTimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("finish_time <=", value, "finishTime");
            return (Criteria) this;
        }

        public Criteria andFinishTimeIn(List<Date> values) {
            addCriterionForJDBCDate("finish_time in", values, "finishTime");
            return (Criteria) this;
        }

        public Criteria andFinishTimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("finish_time not in", values, "finishTime");
            return (Criteria) this;
        }

        public Criteria andFinishTimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("finish_time between", value1, value2, "finishTime");
            return (Criteria) this;
        }

        public Criteria andFinishTimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("finish_time not between", value1, value2, "finishTime");
            return (Criteria) this;
        }

        public Criteria andEnableIsNull() {
            addCriterion("enable is null");
            return (Criteria) this;
        }

        public Criteria andEnableIsNotNull() {
            addCriterion("enable is not null");
            return (Criteria) this;
        }

        public Criteria andEnableEqualTo(Byte value) {
            addCriterion("enable =", value, "enable");
            return (Criteria) this;
        }

        public Criteria andEnableNotEqualTo(Byte value) {
            addCriterion("enable <>", value, "enable");
            return (Criteria) this;
        }

        public Criteria andEnableGreaterThan(Byte value) {
            addCriterion("enable >", value, "enable");
            return (Criteria) this;
        }

        public Criteria andEnableGreaterThanOrEqualTo(Byte value) {
            addCriterion("enable >=", value, "enable");
            return (Criteria) this;
        }

        public Criteria andEnableLessThan(Byte value) {
            addCriterion("enable <", value, "enable");
            return (Criteria) this;
        }

        public Criteria andEnableLessThanOrEqualTo(Byte value) {
            addCriterion("enable <=", value, "enable");
            return (Criteria) this;
        }

        public Criteria andEnableIn(List<Byte> values) {
            addCriterion("enable in", values, "enable");
            return (Criteria) this;
        }

        public Criteria andEnableNotIn(List<Byte> values) {
            addCriterion("enable not in", values, "enable");
            return (Criteria) this;
        }

        public Criteria andEnableBetween(Byte value1, Byte value2) {
            addCriterion("enable between", value1, value2, "enable");
            return (Criteria) this;
        }

        public Criteria andEnableNotBetween(Byte value1, Byte value2) {
            addCriterion("enable not between", value1, value2, "enable");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}